package com.bridgeintelligent.tag.scene.api;

import com.bridgeintelligent.tag.scene.api.dto.SceneDto;
import com.bridgeintelligent.tag.scene.api.dto.ScenePage;
import com.bridgeintelligent.tag.scene.api.entity.Scene;
import com.bridgeintelligent.tag.scene.api.model.SceneModel;
import com.bridgeintelligent.tag.scene.api.model.SceneMoveModel;
import com.bridgeintelligent.tag.scene.api.model.SceneQueryModel;
import com.bridgeintelligent.tag.scene.api.vo.*;

import java.util.List;

/**
 * @description
 * @author: grp 2021-01-10 21:47
 **/
public interface ISceneService {
    List<String> inCatalogList(String sceneName);

    SceneDto<Object> update(Scene scene);

    List<Scene> findByCatalogId(String id);

    void add(SceneModel model);

    List<CustomersVO> findCustomers();

    List<CombinationTagVO> findCombinations();

    void put(SceneModel model);

    ScenePage<SceneVO> list(SceneQueryModel model);

    void del(String id);

    int countByName(String name);

    SceneDetailVO getDetail(String id);

    int countByNameAndNotId(String name, String id);

    SceneDto<Object> top(String id);

    SceneDto<Object> down(String id);

    SceneDto<Object> up(String id);

    List<FreeTagVO> findFrees();

    SceneDto<Object> up(SceneMoveModel model);

    SceneDto<Object> down(SceneMoveModel model);
}
